1. Field of Invention
The present invention relates generally to a method for automatic prevention of vertical streaks and, more specifically, to a method for automatic prevention of vertical streaks by selectively applying gains to the output signals of optical sensor elements.
2. Description of the Related Art
Scanners typically include an array of optical sensor elements and a scan area (e.g., plate of glass) where an object to be imaged by the sensor elements is positioned. An optical path including, for example, lens and mirrors, spans between the sensor elements and the scan area.
Referring to FIG. 2, a subsystem 200 of a typical scanner includes an optical sensor device 202, a lens 204, a transparent plate 206 and a calibration strip 208. The transparent plate 206 includes a scan area surface 210 over which an object 212 to be scanned is positioned. An exemplary calibration strip 208 spans across the entire scan area surface 210 and is formed from plastic with a uniform exterior color such as white.
The optical sensor device 202 is typically a linear array of optical sensor elements or photosites which convert optical images to electrical output signals. An exemplary optical sensor device 202 comprises a 2,700-bitxc3x973CCD (Charge Coupled Device) color linear image sensor such as the NEC xcexcPD3720 integrated circuit which has a color filter that provides primary colors (red, green and blue) via rows of photosites 214, 216 and 218, respectively, which are arranged on the sensor device 202 as shown.
A problem with the subsystem 200 is that different photosites, due to manufacturing imperfections, do not necessarily generate the same output signal when imaging identical objects. Another problem with the subsystem 200 If is that the optical path 220 (shown unfolded) between the optical sensor device 202 and the object 212 introduces inconsistencies in the output signals because the photosites at the end portions 222 and 224 of the optical sensor device 202 receive lower levels of light from an object 212 of uniform color than the photosites near the center portion 226 of the optical sensor device 202. Therefore, in order to achieve uniformity in the levels of the output signals across the optical sensor device 202, some form of compensation or calibration of the output signals is necessary. To this end, the subsystem 200 includes the calibration strip 208 which is used to calibrate the output signals of the optical sensor device 202.
Referring to FIG. 3, a functional block diagram 300 shows that output signals 302 generated by the optical sensors 202 are provided with pixel-by-pixel gain 304 to generate calibrated output signals 304. During the calibration process, the photosites of the optical sensor device 202 image the uniformly colored calibration strip 208 before the object 212 to be scanned is positioned on the scan area surface 210. Each photosite in the scanner is xe2x80x9cqueriedxe2x80x9d to determine how much light it xe2x80x9cseesxe2x80x9d. Across the optical sensor device 202, from the left end 222 to the right end 224, the output signals 302 appear, for example, as shown in FIG. 4. In order to achieve uniformity in the levels of the output signals across the optical sensor device 202, a xe2x80x9cproportionatexe2x80x9d pixel-by-pixel gain 304 as shown in FIG. 5 is applied to the output signals 302. The term xe2x80x9cproportionatexe2x80x9d means an inversion or other appropriate function of the output signals 302 such that the calibrated output signals 304 appear as the uniform output level shown in FIG. 6. By way of example, suppose an average photosite reports a value of 100. If one photosite reports a lower valuexe2x80x94say 50xe2x80x94then the amplification for that one photosite will be set twice as high as the amplification for the average photosite. After the calibration process is completed, the pixel-by-pixel gain 304 is saved, for example, in firmware of the scanner, and applied during subsequent scanning. Thus, the net signal from the photosite and its amplification are the same for all photosite-amplification pairs.
Even though each photosite gets a xe2x80x9ccustomizedxe2x80x9d amplification, unfortunately, this does not accommodate a situation where an optical obstruction is positioned between the calibration strip 208 and the scan area surface 210 during the calibration process. The term xe2x80x9coptical obstructionxe2x80x9d means an object which has any effect on light transmitted therethrough. Optical obstructions include, but are not limited to, paper dust, plastic dust, skin particles, metal particles and glass particles.
Referring again to FIG. 2, the subsystem 200 is shown with optical obstructions xe2x80x9cAxe2x80x9d, xe2x80x9cBxe2x80x9d, xe2x80x9cCxe2x80x9d and xe2x80x9cDxe2x80x9d positioned between the optical sensor device 202 and the calibration strip 208. More specifically, the optical obstructions xe2x80x9cAxe2x80x9d, xe2x80x9cBxe2x80x9d, xe2x80x9cCxe2x80x9d and xe2x80x9cDxe2x80x9d are positioned, respectively, on the scan area surface 210, in the optical path 220, in the optical path 220 sufficiently near the scan area surface 210 to be illuminated by a light source (not shown), and on the optical sensor device 202. The optical obstructions xe2x80x9cAxe2x80x9d, xe2x80x9cBxe2x80x9d and xe2x80x9cDxe2x80x9d are dark debris which are light-absorbing, i.e., tending to absorb light. The optical obstruction xe2x80x9cCxe2x80x9d is reflective. During the calibration process, when these optical obstructions are present, the output signals 302, from the left end 222 to the right end 224 of the optical sensor device 202, appear, for example, as shown in FIG. 7. In order to achieve uniformity in the levels of the output signals across the optical sensor device 202, a xe2x80x9cproportionatexe2x80x9d pixel-by-pixel gain 304 as shown in FIG. 8 is applied to the output signals 302. As shown in FIG. 9, a uniform photosite output signal level with proportionate gain applied is the result of the calibration process. However, if the optical obstruction xe2x80x9cAxe2x80x9d is displaced from the optical path 220, for example, by an object 212 moving across the scan area surface 210, the calibrated output signal levels will then appear as shown in FIG. 10 with a large spike corresponding to the photosite that was imaging the optical obstruction xe2x80x9cAxe2x80x9d during the calibration process. As a result, during scanning, this erroneously high gain causes all scan data from that photosite to have a higher signal than it should. The net effect is that there is a bright vertical line in the scan, copy or fax output which runs the entire length of the image.
One possible approach to solving the problem described above would be to move the optical sensor device 202 relative to the calibration strip 208 during the calibration process. A disadvantage of such an approach is that it adds to the complexity of the scanner and makes it more expensive by requiring a mechanism for moving either the optical sensor device 202 or the calibration strip 208 relative to the other.
Thus, a need exists for a method for eliminating vertical streaks in scan data caused by optical obstructions in the optical path of the scanner. Also, a need exists for a method for xe2x80x9cintelligentlyxe2x80x9d determining when the signal from a photosite is truly low and needs to be compensated for with a large amplification and when a photosite is low due to dust which is likely to be dislodged from the optical path by the object being scanned and, therefore, needs to have an xe2x80x9cordinaryxe2x80x9d amplification.
A method for automatic prevention of vertical streaks in accordance with one embodiment of the present invention includes the steps of: processing output signals from an optical sensor; and selectively applying gains to the output signals depending upon differences between each output signal and its respective neighbor output signals.
In a preferred embodiment, the step of applying gains further includes identifying output signals to which a proportionate gain is to be applied and output signals to which a gain which is appropriate for at least one of the neighbor output signals is to be applied. Output signals to which proportionate gains are to be applied include: an output signal for which the difference between the output signal and its neighbor output signals indicates that an optical obstruction is not likely to be present in an optical path associated with the output signal; an output signal for which the difference between the output signal and its neighbor output signals indicates that a reflective particle is likely to be present in an optical path associated with the output signal; and an output signal for which the difference between the output signal and its neighbor output signals indicates that an optical obstruction is likely to be positioned in an optical path associated with the output signal between the optical sensor and a scan area surface over which an object to be imaged by the optical sensor is positioned. Output signals to which gains appropriate for at least one of the neighbor output signals are to be applied include an output signal for which the difference between the output signal and its neighbor output signals indicates that an optical obstruction is likely to be positioned in an optical path associated with the output signal on or between the scan surface area and a calibration strip facing the scan area surface.
A method for automatic prevention of vertical streaks in accordance with another embodiment of the present invention includes the steps of: receiving output signals from a plurality of optical sensor elements; and for each of the sensor elements, comparing the value of the output signal with the values of the output signals of neighbor sensor elements to determine whether an optical obstruction appears to be present in an optical path associated with any of the sensor elements. In a preferred embodiment, the optical sensor elements are configured as an array, and the method also includes the steps of: distinguishing between narrow dips and wide dips in magnitudes of the output signals moving linearly across the array; and applying gains to the output signals depending upon whether the dips are narrow or wide.
A method for automatic prevention of vertical streaks in accordance with another embodiment of the present invention includes the steps of: identifying an element of an optical sensor for which a particle appears to be positioned in an optical path of the element between a scan surface area over which an object to be imaged by the optical sensor is positioned and a calibration strip facing the scan area surface; and applying a gain to an output signal generated by the element, the gain being appropriate for at least one other element of the optical sensor.